package hzau.service;

import hzau.pojo.question.Question;
import hzau.pojo.question.SelectionQuestion;
import hzau.pojo.requestParams.QuestionsRegisterParam;
import hzau.pojo.requestParams.SelectionQuestionParam;
import hzau.result.Result;

import java.io.IOException;

public interface QuestionService {
    Result register(QuestionsRegisterParam question);

    Result registerSelectedQuestion(SelectionQuestionParam question);

    Result getOneQuestion(Long id);

    Result getOneSelectionQuestion(Long id);

    Result getAllQuestion(Long id);

    Result getAllSelectionQuestion(Long id);

    Result updateSelectionQuestion(SelectionQuestion question);

    Result updateQuestion(Question question);

    Result deleteQuestion(Question question);

    Result deleteSelectionQuestion(SelectionQuestion question);

    Result getOneKindQuestion(Integer type, Long paperId);

    Result registerOrUpdateselecteQuestion(SelectionQuestion question);

    Result registerOrUpdateQuestion(Question question);

    Result selectByPaperAndId(Long paperId, Integer id);

    Result getSelectionNumber(Long paperId);

    Result getQuestionNumber(Long paperId, Short type);

    Result selectQuestionByPaperAndId(Long paperId, Short type, Integer id);

    Result selectQuestionsByPaperAndId(Long paperId, Short type);

//    Result getSelecyionScore(String description);

    Result getSelectionScore(String description) throws IOException;

    Result getQuestionScore(String description) throws IOException;
}
